This invention relates in general to buffers within microcomputer systems and in particular to an expandable printer buffer in use in such systems.
In conventional microcomputer systems, where it is desired for several personal computers to share a printer, a printer buffer is used to connect the personal computers to the printer. Conventionally printer buffers are equipped with a certain number of input ports and output ports. Commonly used printer buffers have four input ports and one output port, for example. First, in order for users of personal computers to share a printer, the four input ports are connected to the four personal computers and the output port of the buffer is connected to the printer. One commonly used interface for controlling the printer buffer is the IBM PS/2 MODEL 80.
The IBM PS/2 MODEL 80 TECHNICAL REFERENCE discloses a parallel port (Centronics Interface). The interface includes the parallel port controller, shown in FIG. 1A. As shown in FIG. 1A, the parallel port controller includes a 25-pin D-shell connector 24 for connection to a printer (not shown), a data I/O buffer 12 for storing data destined for the printer and a control output buffer 14 for storing commands or control signals for controlling the bidirection input and output data flow and a "control wrap and signal input" block 16 which is a storage device for storing the status of the printer.
FIG. 1B is a block diagram of the controller of FIG. 1A and of a personal computer and of a printer connected to the controller to illustrate a conventional printer buffer design. As shown in FIGS. 1A, 1B, controller 10 includes three storage devices: a data storage 12, a control storage 14 and a status storage 6. Data storage 12 stores data from the personal computer destined for the printer 22. The controller also includes a D-shell connecter 24 for connection to printer. Each of the three storage devices are adapted to receive 8 bits of parallel data.
The parallel port interface illustrated in FIGS. 1A-1B has three ports: a data port 12a, a command or control port 14a and a status port 16a. The three ports respond to five I/O instructions: two outputs and three inputs instructions. The output instructions transfer data into the data or control ports from computer 20 while the input instructions allow the computer to read back the contents of any one of the three ports.
In FIGS. 1A-1B, storage devices 12, 14 and 16 may simply be latches and that their contents would readily appear at the ports 12a, 14a, obvious that status port 16a is a read-only port and that the flow of status signals is in one direction only: from the printer 22, through connector 24 and stored in status storage 16. The status signals stored is then read by computer 20 through bus 26. Each of the three ports receives 8 bits of parallel data. The definition of the 8 bits of the status port 16a are listed below.